package com.turing.draw.model.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.turing.orm.model.domain.common.BaseDo;
import io.swagger.annotations.ApiModel;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;


/**
 * @Description
 * @Author lcy
 * @Date 2021-10-25
 */
@ApiModel(value = "DrawTask")
@Data
@EqualsAndHashCode(callSuper = false)
@Builder(toBuilder = true)
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
public class DrawTask extends BaseDo<DrawTask> {

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField("task_sn")
    private String taskSn;

    @TableField("task_name")
    private String taskName;

    @TableField("template_id")
    private String templateId;

    @TableField("template_name")
    private String templateName;

    @TableField("template_group")
    private Integer templateGroup;

    @TableField("file_numbers")
    private Integer fileNumbers;

    @TableField("task_status")
    private Integer taskStatus;

    @TableField("child_tasks")
    private String childTasks;

    @TableField("rpa_status")
    private Integer rpaStatus;

    @TableField("is_del")
    private Integer isDel;

    @TableField("first_reviewer")
    private Integer firstReviewer;

    @TableField("first_reviewer_name")
    private String firstReviewerName;

    @TableField("last_reviewer")
    private Integer lastReviewer;

    @TableField("last_reviewer_name")
    private String lastReviewerName;

    @TableField("first_review_time")
    private Date firstReviewTime;

    @TableField("last_review_time")
    private Date lastReviewTime;

    @TableField("created_by_name")
    private String createdByName;

    @TableField(value = "created_by")
    private Integer createdBy;

    @TableField(value = "updated_by")
    private Integer updatedBy;

    @TableField("upload_time")
    private Date uploadTime;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}

